﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using BusinessObjects;
using BusinessObjects.BusinessRules;

namespace BusinessSecurity
{
    /// <summary>
    /// EmailConfig
    /// </summary>
    public class EmailConfig: BusinessObject
    {
        /// <summary>
        /// Initializes a new instance of the <see cref="EmailConfig"/> class.
        /// </summary>
        public EmailConfig()
        {
            AddRule(new ValidateId("Id"));
        }

        /// <summary>
        /// Gets or sets the identifier.
        /// </summary>
        /// <value>
        /// The identifier.
        /// </value>
        public int Id { get; set; }
        /// <summary>
        /// Gets or sets the title.
        /// </summary>
        /// <value>
        /// The title.
        /// </value>
        public string Title { get; set; }
        /// <summary>
        /// Gets or sets the email address.
        /// </summary>
        /// <value>
        /// The email address.
        /// </value>
        public string EmailAddress { get; set; }
        /// <summary>
        /// Gets or sets the email user.
        /// </summary>
        /// <value>
        /// The email user.
        /// </value>
        public string EmailUser { get; set; }
        /// <summary>
        /// Gets or sets the password.
        /// </summary>
        /// <value>
        /// The password.
        /// </value>
        public string Password { get; set; }
        /// <summary>
        /// Gets or sets the host.
        /// </summary>
        /// <value>
        /// The host.
        /// </value>
        public string Host { get; set; }
        /// <summary>
        /// Gets or sets the port.
        /// </summary>
        /// <value>
        /// The port.
        /// </value>
        public int Port { get; set; }
        /// <summary>
        /// Gets or sets a value indicating whether [SSL].
        /// </summary>
        /// <value>
        ///   <c>true</c> if [SSL]; otherwise, <c>false</c>.
        /// </value>
        public bool Ssl { get; set; }
        /// <summary>
        /// Gets or sets a value indicating whether [status].
        /// </summary>
        /// <value>
        ///   <c>true</c> if [status]; otherwise, <c>false</c>.
        /// </value>
        public bool Status { get; set; }
        }
}
